var inSubscribeProcess = false;
var inSubscribeChangeTypeProcess = false;

$(function() {
    if ($('body').hasClass('index_page') || $('body').hasClass('free_index_page')) {
        var descriptionBlock = $('#product_description');
        var dummyBlock = $('#dummy_block');
        dummyBlock.css('padding-top',descriptionBlock.height()+20);
        descriptionBlock.css({'top':dummyBlock.offset().top,'visibility':'visible'});
    }
});

var cssFix = function(){
	var u = navigator.userAgent.toLowerCase(),
	addClass = function(el,val){
		if(!el.className) {
			el.className = val;
		} else {
			var newCl = el.className;
			newCl+=(" "+val);
			el.className = newCl;
		}
	},
	is = function(t){
		return (u.indexOf(t)!=-1)
	};
	addClass(document.getElementsByTagName('html')[0],[
		(!(/opera|webtv/i.test(u))&&/msie (\d)/.test(u))?('ie ie'+RegExp.$1)
		:is('firefox/2')?'gecko ff2'
		:is('firefox/3')?'gecko ff3'
		:is('gecko/')?'gecko'
		:is('opera/9')?'opera opera9':/opera (\d)/.test(u)?'opera opera'+RegExp.$1
		:is('konqueror')?'konqueror'
		:is('applewebkit/')?'webkit safari'
		:is('mozilla/')?'gecko':'',
		(is('x11')||is('linux'))?' linux'
		:is('mac')?' mac'
		:is('win')?' win':''
		].join(" "));
}();

$(function() {
	$('#blockUp').floating_panel({
		'fromCenter': 520,
		'fromTop': 150,
		'minTop': 200,
		'location': 'left'
	});
});

function initNewsletterBlock() {
    $('#subscribeNameId').each(function() {
	initInputField($(this), 'Your Name');
    });
    $('#subscribeEmailId').each(function() {
	initInputField($(this), 'Your Email Address');
    });
    inSubscribeProcess = false;
}

function initInputField(obj, defaultValue) {
    obj.focus(function(){
			if($.trim(obj.val()) == defaultValue) {
				this.value = '';
			}
		});

		obj.blur(function(){
			if($.trim(obj.val()) == '') {
				this.value = defaultValue;
			}
		});
}

function emailChecking(email) {
    var regEMail = /^[\w\-\'\~\_\.\*\/=\^\{\}\?\+\!\#\$\%\&\`\|]+[\@][\w\_\.\-]+[\.][\w]{2,6}$/i;

    if ((email.length > 100) || (regEMail.exec(email) == null) || (email.substr(email.lastIndexOf('@') + 1, 1) == '.')) {
        return false;
    }

    var name = email.substring(0, email.indexOf('@'));

    if ((email.indexOf('..') > 0) || (name[0] == '.') || (name[name.length - 1] == '.')) {
        return false;
    }

    return true;
}

function checkEmailValue(email, errorObj) {
	var reg = /^[\w\-\'\~\_\.\*\/=\^\{\}\?\+\!\#\$\%\&\`\|]+[\@][\w\_\.\-]+[\.][\w]{2,6}$/i;
    if (email == '') {
        errorObj.text("Please enter your e-mail address");
        return false;
    } else if (!emailChecking(email)) {
        errorObj.text("It doesn't look like an e-mail address");
		return false;
    }
    errorObj.text("");
    return true;
}

function trim(str) {
    str = str.replace(/^\s+/, '');
    for (var i = str.length - 1; i >= 0; i--) {
        if (/\S/.test(str.charAt(i))) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return str;
}


function getSubscribeEmailValue() {
    var email = document.forms.subscribeForm.subscribeEmail;
    var email_value = trim(email.value);
    if (email_value == 'Your Email Address') {
        email_value = '';
    }
    return email_value;
}

function getSubscribeNameValue() {
    var name = document.forms.subscribeForm.subscribeName;
   var name_value = trim(name.value);
    if (name_value == 'Your Name') {
        name_value = '';
    }
    return name_value;
}

function getSubscribeChangeTypeCommentValue() {
    var comment = $('#subscribeChangeTypeComment').val();
   var comment_value = trim(comment);
    if (comment_value == 'Your comment here') {
        comment_value = '';
    }
    return comment_value;
}

function checkSubscribeName() {
    var name = getSubscribeNameValue();
    if (name == '') {
        $("#errorSubscribeName").text("Please enter your name");
        return false;
    }
    $("#errorSubscribeName").text("");
    return true;
} 

function checkSubscribeEmail() {
    return checkEmailValue(getSubscribeEmailValue(), $("#errorSubscribeEmail"));
} 

function checkSubscribeForm() {
    var isChecked = checkSubscribeName();
    isChecked = checkSubscribeEmail() && isChecked;
    return isChecked;
}

function doSubsribeForm() {
    if (checkSubscribeForm()) {
	var email = getSubscribeEmailValue();
	var name = getSubscribeNameValue();
	if (inSubscribeProcess) {
	    return;
        }
        
        var subscribeType = $("input[name='subscribeType']:checked").val();
	
	inSubscribeProcess = true;
	//disabled from
    
    $.ajax({
        url: '/free-templates/subscriber',
        type:    'POST',
        dataType: 'json',
        data: {"subscribeEmail" : email, "subscribeName" : name, "subscribeType" : subscribeType},
        success:  function(resultObject) {
            if (resultObject.state != null) {
                switch (resultObject.state) {
                    case "OK": {
                	$("#errorSubscribeEmail").text("");
                	$("#subsribrFormContent").html("<p><b>Thank you!</b></p><p class='text'>Please check your mailbox to find confirmation letter.</p><div class='box'><img src='/themes/wt/images/postbox.gif'></div>");
                        break;
                    }
                    case "ERROR":{
                	$("#errorSubscribeEmail").text(resultObject.errorMessage);
                        break;
                    }
                    default : {
                	$("#errorSubscribeEmail").text("Can't proceed your request, please contact us at info@websitetemplates.org");
                        break;
                    }
                }
            } else {
                $("#errorSubscribeEmail").text("Can't proceed your request, please contact us at info@websitetemplates.org");
            }
            inSubscribeProcess = false;
        },
        error:  function(xhr, str) {
    	    $("#errorSubscribeEmail").text("Can't proceed your request, please contact us at info@websitetemplates.org");
            inSubscribeProcess = false;
        }
    }); 

    }
}

function doSubsribeChangeTypeForm(act) {
    if (inSubscribeChangeTypeProcess) {
	return;
    }
    act = act || 'changeType';//set default value
    var subscribeType = $("input[name='subscribeChangeTypePeriod']:checked").val();
    var id = $('#newsletterUserId').val();
    var hash = $('#newsletterUserHash').val();
    var comment = getSubscribeChangeTypeCommentValue();
    inSubscribeChangeTypeProcess = true;
    $("#errorSubscribeChangeType").text("");
    $.ajax({
        url: '/free-templates/subscriber',
        type:    'POST',
        dataType: 'json',
        data: {"id" : id, "hash" : hash, "subscribeType" : subscribeType, "act" : act, "comment" : comment},
        success:  function(resultObject) {
            if (resultObject.state != null) {
                switch (resultObject.state) {
                    case "OK": {
                	$("#errorSubscribeChangeType").text("");
                	if (act == 'changeType') {                	
                    	    $(".product-descr").html('<h1>Successfully Completed</h1><p>You have successfully changed  the type of your subscription. Please <a href="/free-templates/contactus.html">contact us</a> if you have any questions regarding our Newsletter mailings.</p>');
                    	} else {
                    	    $(".product-descr").html('<h1>Unsubscription Successfully Completed</h1><p>You have successfully unsubscribed from WebsiteTemplates.org Newsletter. Please <a href="/free-templates/contactus.html">contact us</a> if you have any questions regarding our Newsletter mailings.</p>');
                    	}
                        break;
                    }
                    case "ERROR":{
                	$("#errorSubscribeChangeType").text(resultObject.errorMessage);
                        break;
                    }
                    default : {
                	$("#errorSubscribeChangeType").text("Can't proceed your request, please contact us at info@websitetemplates.org");
                        break;
                    }
                }
            } else {
                $("#errorSubscribeChangeType").text("Can't proceed your request, please contact us at info@websitetemplates.org");
            }
            inSubscribeChangeTypeProcess = false;
        },
        error:  function(xhr, str) {
    	    $("#errorSubscribeChangeType").text("Can't proceed your request, please contact us at info@websitetemplates.org");
            inSubscribeChangeTypeProcess = false;
        }
    }); 
}

$(document).ready(function(){
	initNewsletterBlock();
	$('#keyword').each(function() {
		initInputField($(this), 'Keyword');
	});
	
	$('#subscribeChangeTypeComment').each(function() {
		initInputField($(this), 'Your comment here');
	});
});
function formsub() {
	if ($.trim($("#keyword").attr('value')) =='Keyword') {
		$("#keyword").attr('name', '');
	}
	document.getElementById('advance_search').submit();
}

